package org.inspursc.s0517.health.evaluation.service;


import org.inspursc.s0517.health.evaluation.dto.CategoryDTO;
import org.inspursc.s0517.health.evaluation.dto.QuestionCategoryDTO;
import org.inspursc.s0517.health.evaluation.dto.QuestionDTO;
import org.inspursc.s0517.health.evaluation.entity.QuestionCategory;


import java.util.List;
import java.util.Set;

/**
 * @author B_Dream
 * @date 2018/5/22 14:39
 */
public interface QuestionCategoryService {

    /**
     * 根据分类ID获取分类
     *
     * @param parentId
     * @return
     */
    List<QuestionCategoryDTO> getCategory(Integer parentId);

    /**
     * 根据分类ID获取 分类树结构数据组装为一个调查问卷详情
     * @param quDTOS
     * @return
     */
    List<QuestionCategoryDTO> getCategoryOfSurvey( List<QuestionDTO> quDTOS);

    /**
     * 保存分类
     *
     * @param category
     * @return
     */
    CategoryDTO saveCategory(CategoryDTO category);

    /**
     * 删除分类根据id
     *
     * @param id
     * @return
     */
    Boolean deleteCategory(Integer id);

    /**
     * 获取所有分类
     *
     * @return
     */
    List<QuestionCategoryDTO> findAll();

    List<QuestionCategoryDTO> findBatch(Set<Integer> ids);


    /**
     *查找分类包含问题
     * @return
     */
    List<QuestionCategoryDTO> findAllAndQustion();

    /**
     * for distinguish questions
     */
    List<QuestionCategoryDTO> findQuestionByTypeId(int typeId);

    List<QuestionCategoryDTO> findByTypeId(int typeId);

}
